#!/usr/bin/env python

import os
import minstall
import time

distro = None

if __name__ == "__main__":

	ver = str(minstall.version())

	while 1:
		# interface principal
		os.system('clear')
		print "==========================================================================="
		print "=                             minstall v" + ver + "                              ="
		print "==========================================================================="
		print "=                                                                         ="
		print "= 1) Seleccionar Distribucion de GNU Linux                                ="
		print "= 2) Cargar paquetes a instalar                                           ="
		print "= 3) Cargar paquetes a desinstalar                                        ="
		print "= 4) Creditos                                                             ="
		print "= 5) Salir                                                                ="
		print "=                                                                         ="
		print "=                                                                         ="
		print "=                                                                         ="
		print "=                                                                         ="
		print "=                                                                         ="
		print "=                                                                         ="
		print "= 99) Dominar el mundo                                                    ="
		print "==========================================================================="
		print ""
		print "Elija opcion.."
		try:
			i = int(raw_input("\n"))
		except ValueError:
			print "Opcion invalida.. :P"
			time.sleep(0.3)
			continue

		if i == 1:
			os.system('clear')
			print "==========================================================================="
			print "=                             minstall v" + ver + "                              ="
			print "==========================================================================="
			print ""

			dist_in = minstall.distros_install()
			dist_un = minstall.distros_uninstall()

			validos = [x for x in dist_in if dist_un.count(x)]
			i = 0
			for d in validos:
				if d != '':
					i+=1
					print "%d) %s" % (i,d)

			try:
				distro = int(raw_input("\n\nIngrese su distribucion: \n"))
			except ValueError:
				print "Opcion invalida.. :P"
				time.sleep(1)
				continue

			distro = validos[distro-1]

			print "\n\nHa seleccionado %s correctamente.." % distro
			raw_input("\nPresione enter para continuar..")

			continue

		if i == 2:
			if distro != None:
				os.system('clear')
				print "==========================================================================="
				print "=                             minstall v" + ver + "                              ="
				print "==========================================================================="
				print ""

				ruta = raw_input("Ingrese la ruta al archivo con paquetes a instalar: \n")
				try:
					archivo = open(ruta, 'r')
				except IOError:
					print "El archivo no existe.. Intente de nuevo.."
					time.sleep(1)
					continue

				texto = archivo.read()
				toinstall = texto.split("\n")

				dlist_in = minstall.cargar_install(distro)

				minstall.install(toinstall,dlist_in)
				archivo.close()

				print ""
				print "El proceso ha finalizado correctamente.."
				raw_input("Presione enter para continuar..")
				continue
			else:
				print "Primero debe seleccionar distribucion.."
				time.sleep(1)

		if i == 3:
			if distro != None:
				os.system('clear')
				print "==========================================================================="
				print "=                             minstall v" + ver + "                              ="
				print "==========================================================================="
				print ""
				ruta = raw_input("Ingrese la ruta al archivo con paquetes a desinstalar: \n")

				try:
					archivo = open(ruta, 'r')
				except IOError:
					print "El archivo no existe.. Intente de nuevo.."
					time.sleep(1)
					continue

				texto = archivo.read()
				touninstall = texto.split("\n")

				dlist_un = minstall.cargar_uninstall(distro)

				minstall.uninstall(toinstall,dlist_un)
				archivo.close()

				print ""
				print "El proceso ha finalizado correctamente.."
				raw_input("Presione enter para continuar..")
				continue
			else:
				print "Primero debe seleccionar distribucion.."
				time.sleep(1)

		if i == 4:
			os.system('clear')
			print "==========================================================================="
			print "=                             minstall v" + ver + "                              ="
			print "==========================================================================="
			print ""
			print "Programadores: Sam - CrazyBoy"
			print ""
			print "Agradecimientos especiales al Dr. Pelado Torres por haber hecho la consulta"
			print "sobre un programa similar en una pratico de Analisis 1 en FaMAF - UNC."
			print ""
			print "Muchas gracias a la lista de PyAr por comentar algunas mejoras referidas"
			print "seguridad y hacerlo 'multidistro', de la cual me hizo pensar para otras"
			print "mejoras."
			print ""
			print "Agradecimientos a www.comunidadargentina.net ;) y a Sam que lo encontre alli"
			print ""
			print "Y no quiero olvidarme de J0hn que me soporta con mis dudas de Python :P"
			print ""
			print ""
			raw_input("Presione enter para continuar..")
			continue

		if i == 42 or i == 1337:
			os.system('clear')
			print "==========================================================================="
			print "=                             minstall v" + ver + "                              ="
			print "==========================================================================="
			print ""
			print "tio, eres un hacker.."
			print ""
			print ""
			raw_input("Presione enter para continuar..")
			continue

		if i == 99:
			os.system('clear')
			print "==========================================================================="
			print "=                             minstall v" + ver + "                              ="
			print "==========================================================================="
			print ""
			print "Trabajando en ello... "
			print ""
			print ""
			print "Agradecemos especialmente la colaboracion de Cerebro.. :)"
			print ""
			print ""
			raw_input("Presione enter para continuar..")
			continue

		if i == 5:
			break



